package com.infore.common.model.entity.exchange;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.infore.common.base.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 数据交换日志
 * </p>
 *
 * @author lijh
 * @since 2023-02-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_ex_transform_log")
public class TExTransformLog extends BaseModel<TExTransformLog> {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "log_id", type = IdType.UUID)
    private String logId;


    /**
     * 调度ID，每次job调度唯一
     */
    @TableField("schedul_id")
    private String schedulId;

    /**
     * t_ex_job_info中的ID
     */
    @TableField("job_id")
    private String jobId;


    /**
     * t_ex_task_info中的ID
     */
    @TableField("task_id")
    private String taskId;

    /**
     * t_ex_transform_info中的ID
     */
    @TableField("transform_id")
    private String transformId;
    /**
     * 交换名称
     */
    @TableField("transform_name")
    private String transformName;
    /**
     * 开始时间
     */
    @TableField("start_time")
    private Date startTime;
    /**
     * 结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//从数据库读出日期格式时，进行转换的规则
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//接受从前端传入的日期格式，映射到java类日期属性的规则
    @TableField("end_time")
    private Date endTime;
    /**
     * 来源表读取行数
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//从数据库读出日期格式时，进行转换的规则
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//接受从前端传入的日期格式，映射到java类日期属性的规则
    @TableField("read_rows")
    private Integer readRows;
    /**
     * 目标表写入行数
     */
    @TableField("writer_rows")
    private Integer writerRows;
    /**
     * 执行状态：1_成功，0 异常
     */
    @TableField("exe_staus")
    private Integer exeStaus;


    @Override
    protected Serializable pkVal() {
        return this.logId;
    }

}
